package com.example.icongyou.utils; // 假设您的工具包名为 utils

import android.content.Context;
import android.content.SharedPreferences;

public class SessionManager {

    // SharedPreferences 文件名
    private static final String PREF_NAME = "TeacherSession";

    // 存储的键名
    private static final String KEY_TEACHER_ID = "teacher_id";

    // 可以保存教师姓名
    private static final String KEY_TEACHER_NAME = "teacher_name";

    private final SharedPreferences sharedPreferences;
    private final SharedPreferences.Editor editor;
    private final Context context;

    // 构造函数
    public SessionManager(Context context) {
        this.context = context;
        // MODE_PRIVATE 确保只有您的应用可以访问这些数据
        sharedPreferences = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
        editor = sharedPreferences.edit();
    }

    /**
     * 保存教师ID和姓名
     * @param teacherId 教师的工号/ID
     * @param teacherName 教师的姓名
     */
    public void createLoginSession(String teacherId, String teacherName) {
        editor.putString(KEY_TEACHER_ID, teacherId);
        editor.putString(KEY_TEACHER_NAME, teacherName);
        editor.apply(); // 异步提交更改
        // 如果需要立即保存 (不推荐)，可以使用 editor.commit();
    }

    /**
     * 获取当前登录教师的ID
     * @return 教师ID，如果未登录则返回 null 或空字符串
     */
    public String getTeacherId() {
        // 如果找不到 KEY_TEACHER_ID，则返回 null
        return sharedPreferences.getString(KEY_TEACHER_ID, null);
    }

    /**
     * 获取当前登录教师的姓名
     */
    public String getTeacherName() {
        return sharedPreferences.getString(KEY_TEACHER_NAME, "用户");
    }

    /**
     * 清除登录会话 (退出登录时使用)
     */
    public void logoutSession() {
        editor.clear();
        editor.apply();
    }

    // 可以添加一个 isLoggedIn() 方法来检查是否登录
    public boolean isLoggedIn() {
        return sharedPreferences.contains(KEY_TEACHER_ID);
    }
}